/**
 * javaHispano 2008
 */
package org.javahispano.jwitter.data.jpa;

import java.util.Collection;

import javax.persistence.Query;

import org.javahispano.jwitter.data.dao.UsuarioDao;
import org.javahispano.jwitter.domain.Usuario;
/**
 * @author javaHispano
 * Dao para la entidad Usuario
 */
public class UsuarioDaoJpaImpl extends GenericDaoJpaImpl<String, Usuario> implements UsuarioDao {
	
	@SuppressWarnings("unchecked")
	@Override	
	public Collection<Usuario> findAll() {
		return (Collection<Usuario>)em.createQuery("SELECT u FROM Usuario u").getResultList();
	}
	
	@Override
	protected String getClavePrimaria(Usuario entity) {		
		return entity.getUsername();
	}

	@Override
	protected Class<Usuario> getEntityClass() {
		
		return Usuario.class;
	}

	@SuppressWarnings("unchecked")
	@Override
	public Collection<Usuario> getUltimosUsuarios(int numero) {		
		Query query = em.createQuery("SELECT u FROM Usuario u ORDER BY u.fechaRegistro");
		query.setMaxResults(numero);
		
		return query.getResultList();
	}

	

}
